home *** CD-ROM | disk | FTP | other *** search
/ Gamers Delight 2 / Gamers Delight 2.iso / Aminet / game / board / AmiGo.lha / AmiGo / menus.c < prev    next >
C/C++ Source or Header  |  1989-12-12  |  16KB  |  713 lines

  1. /* AmiGo menus */
  2. /* By Todd R. Johnson */
  3. #include <intuition/intuition.h>
  4.  
  5. #define gameWidth 56
  6. #define optionWidth 136 + CHECKWIDTH
  7. #define levelWidth 8 + CHECKWIDTH
  8. #define levelLoc optionWidth - 5
  9. #define moveWidth 112
  10. #define infoWidth 112 + CHECKWIDTH
  11.  
  12. struct IntuiText groupInfoText =
  13. {
  14.     4, 0,         /* FrontPen, BackPen */
  15.     JAM1,        /* DrawMode */
  16.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  17.     NULL,        /* TextAttr */
  18.     "Group Info",    /* IText */
  19.     NULL,        /* NextText */
  20. };
  21.  
  22. struct MenuItem groupInfoItem =
  23. {
  24.     NULL,    /* NextItem */
  25.     0, 16,        /* LeftEdge, TopEdge */
  26.     infoWidth, 8,        /* Width, Height */
  27.     MENUTOGGLE | CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  28.     0,        /* MutualExclude */
  29.     (APTR)&groupInfoText,    /* ItemFill */
  30.     NULL,        /* SelectFill */
  31.     NULL,        /* Command */
  32.     NULL,        /* SubItem */
  33.     NULL,        /* NextSelect */
  34. };
  35.  
  36. struct IntuiText moveReasonText =
  37. {
  38.     4, 0,         /* FrontPen, BackPen */
  39.     JAM1,        /* DrawMode */
  40.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  41.     NULL,        /* TextAttr */
  42.     "Move Reason",    /* IText */
  43.     NULL,        /* NextText */
  44. };
  45.  
  46. struct MenuItem moveReasonItem =
  47. {
  48.     &groupInfoItem,    /* NextItem */
  49.     0, 8,        /* LeftEdge, TopEdge */
  50.     infoWidth, 8,        /* Width, Height */
  51.     MENUTOGGLE | CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  52.     0,        /* MutualExclude */
  53.     (APTR)&moveReasonText,    /* ItemFill */
  54.     NULL,        /* SelectFill */
  55.     NULL,        /* Command */
  56.     NULL,        /* SubItem */
  57.     NULL,        /* NextSelect */
  58. };
  59.  
  60. struct IntuiText showLookAheadText =
  61. {
  62.     4, 0,         /* FrontPen, BackPen */
  63.     JAM1,        /* DrawMode */
  64.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  65.     NULL,        /* TextAttr */
  66.     "Show Lookahead",    /* IText */
  67.     NULL,        /* NextText */
  68. };
  69.  
  70. struct MenuItem showLookAheadItem =
  71. {
  72.     &moveReasonItem,    /* NextItem */
  73.     0, 0,        /* LeftEdge, TopEdge */
  74.     infoWidth, 8,        /* Width, Height */
  75.     MENUTOGGLE | CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  76.     0,        /* MutualExclude */
  77.     (APTR)&showLookAheadText,    /* ItemFill */
  78.     NULL,        /* SelectFill */
  79.     NULL,        /* Command */
  80.     NULL,        /* SubItem */
  81.     NULL,        /* NextSelect */
  82. };
  83.  
  84. struct Menu info =
  85. {
  86.     NULL,        /* NextMenu */
  87.     135,        /* LeftEdge */
  88.     0,        /* TopEdge */
  89.     40,        /* Width */
  90.     8,        /* Height */
  91.     MENUENABLED,    /* Flags */
  92.     "Info",        /* Menu name */
  93.     &showLookAheadItem,    /* FirstItem */
  94. };
  95.  
  96. /* Move */
  97. struct IntuiText scoreGameText =
  98. {
  99.     4, 0,         /* FrontPen, BackPen */
  100.     JAM1,        /* DrawMode */
  101.     0, 0,        /* LeftEdge, TopEdge */
  102.     NULL,        /* TextAttr */
  103.     "Score Game",    /* IText */
  104.     NULL,        /* NextText */
  105. };
  106.  
  107. struct MenuItem scoreGameItem =
  108. {
  109.     NULL,    /* NextItem */
  110.     0, 16,        /* LeftEdge, TopEdge */
  111.     moveWidth, 8,        /* Width, Height */
  112.     ITEMTEXT | HIGHCOMP,    /* Flags */
  113.     NULL,        /* MutualExclude */
  114.     (APTR)&scoreGameText,    /* ItemFill */
  115.     NULL,        /* SelectFill */
  116.     NULL,        /* Command */
  117.     NULL,        /* SubItem */
  118.     NULL,        /* NextSelect */
  119. };
  120.  
  121. struct IntuiText takeBackText =
  122. {
  123.     4, 0,         /* FrontPen, BackPen */
  124.     JAM1,        /* DrawMode */
  125.     0, 0,        /* LeftEdge, TopEdge */
  126.     NULL,        /* TextAttr */
  127.     "Take Back Move",    /* IText */
  128.     NULL,        /* NextText */
  129. };
  130.  
  131. struct MenuItem takeBackItem =
  132. {
  133.     &scoreGameItem,    /* NextItem */
  134.     0, 8,        /* LeftEdge, TopEdge */
  135.     moveWidth, 8,        /* Width, Height */
  136.     ITEMTEXT | HIGHCOMP,    /* Flags */
  137.     NULL,        /* MutualExclude */
  138.     (APTR)&takeBackText,    /* ItemFill */
  139.     NULL,        /* SelectFill */
  140.     NULL,        /* Command */
  141.     NULL,        /* SubItem */
  142.     NULL,        /* NextSelect */
  143. };
  144.  
  145. struct IntuiText passText =
  146. {
  147.     4, 0,         /* FrontPen, BackPen */
  148.     JAM1,        /* DrawMode */
  149.     0, 0,        /* LeftEdge, TopEdge */
  150.     NULL,        /* TextAttr */
  151.     "Pass",        /* IText */
  152.     NULL,        /* NextText */
  153. };
  154.  
  155. struct MenuItem passItem =
  156. {
  157.     &takeBackItem,    /* NextItem */
  158.     0, 0,        /* LeftEdge, TopEdge */
  159.     moveWidth, 8,        /* Width, Height */
  160.     ITEMTEXT | HIGHCOMP,    /* Flags */
  161.     NULL,        /* MutualExclude */
  162.     (APTR)&passText,    /* ItemFill */
  163.     NULL,        /* SelectFill */
  164.     NULL,        /* Command */
  165.     NULL,        /* SubItem */
  166.     NULL,        /* NextSelect */
  167. };
  168.  
  169. struct Menu move =
  170. {
  171.     &info,        /* NextMenu */
  172.     94,        /* LeftEdge */
  173.     0,        /* TopEdge */
  174.     40,        /* Width */
  175.     8,        /* Height */
  176.     MENUENABLED,    /* Flags */
  177.     "Move",        /* Menu name */
  178.     &passItem,    /* FirstItem */
  179. };
  180.  
  181.  
  182. /* Option */
  183. struct IntuiText whiteToPlayText =
  184. {
  185.     4, 0,         /* FrontPen, BackPen */
  186.     JAM1,        /* DrawMode */
  187.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  188.     NULL,        /* TextAttr */
  189.     "White to play",    /* IText */
  190.     NULL,        /* NextText */
  191. };
  192.  
  193. struct MenuItem whiteToPlayItem =
  194. {
  195.     NULL,    /* NextItem */
  196.     0, 56,        /* LeftEdge, TopEdge */
  197.     optionWidth, 8,        /* Width, Height */
  198.     CHECKIT | ITEMENABLED | ITEMTEXT | HIGHCOMP,    /* Flags */
  199.     64,        /* MutualExclude */
  200.     (APTR)&whiteToPlayText,    /* ItemFill */
  201.     NULL,        /* SelectFill */
  202.     NULL,        /* Command */
  203.     NULL,        /* SubItem */
  204.     NULL,        /* NextSelect */
  205. };
  206.  
  207. struct IntuiText blackToPlayText =
  208. {
  209.     4, 0,         /* FrontPen, BackPen */
  210.     JAM1,        /* DrawMode */
  211.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  212.     NULL,        /* TextAttr */
  213.     "Black to play",    /* IText */
  214.     NULL,        /* NextText */
  215. };
  216.  
  217. struct MenuItem blackToPlayItem =
  218. {
  219.     &whiteToPlayItem,    /* NextItem */
  220.     0, 48,        /* LeftEdge, TopEdge */
  221.     optionWidth, 8,        /* Width, Height */
  222.     CHECKIT | CHECKED | ITEMENABLED | ITEMTEXT | HIGHCOMP,    /* Flags */
  223.     128,        /* MutualExclude */
  224.     (APTR)&blackToPlayText,    /* ItemFill */
  225.     NULL,        /* SelectFill */
  226.     NULL,        /* Command */
  227.     NULL,        /* SubItem */
  228.     NULL,        /* NextSelect */
  229. };
  230.  
  231. struct IntuiText amigaPlaysWhiteText =
  232. {
  233.     4, 0,         /* FrontPen, BackPen */
  234.     JAM1,        /* DrawMode */
  235.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  236.     NULL,        /* TextAttr */
  237.     "Amiga plays white",    /* IText */
  238.     NULL,        /* NextText */
  239. };
  240.  
  241. struct MenuItem amigaPlaysWhiteItem =
  242. {
  243.     &blackToPlayItem,    /* NextItem */
  244.     0, 40,        /* LeftEdge, TopEdge */
  245.     optionWidth, 8,        /* Width, Height */
  246.     CHECKIT | ITEMENABLED | ITEMTEXT | HIGHCOMP,    /* Flags */
  247.     16,        /* MutualExclude */
  248.     (APTR)&amigaPlaysWhiteText,    /* ItemFill */
  249.     NULL,        /* SelectFill */
  250.     NULL,        /* Command */
  251.     NULL,        /* SubItem */
  252.     NULL,        /* NextSelect */
  253. };
  254.  
  255. struct IntuiText amigaPlaysBlackText =
  256. {
  257.     4, 0,         /* FrontPen, BackPen */
  258.     JAM1,        /* DrawMode */
  259.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  260.     NULL,        /* TextAttr */
  261.     "Amiga plays black",    /* IText */
  262.     NULL,        /* NextText */
  263. };
  264.  
  265. struct MenuItem amigaPlaysBlackItem =
  266. {
  267.     &amigaPlaysWhiteItem,    /* NextItem */
  268.     0, 32,        /* LeftEdge, TopEdge */
  269.     optionWidth, 8,        /* Width, Height */
  270.     CHECKIT | CHECKED | ITEMENABLED | ITEMTEXT | HIGHCOMP,    /* Flags */
  271.     32,        /* MutualExclude */
  272.     (APTR)&amigaPlaysBlackText,    /* ItemFill */
  273.     NULL,        /* SelectFill */
  274.     NULL,        /* Command */
  275.     NULL,        /* SubItem */
  276.     NULL,        /* NextSelect */
  277. };
  278.  
  279. struct IntuiText AvsHText =
  280. {
  281.     4, 0,         /* FrontPen, BackPen */
  282.     JAM1,        /* DrawMode */
  283.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  284.     NULL,        /* TextAttr */
  285.     "Amiga vs. Human",    /* IText */
  286.     NULL,        /* NextText */
  287. };
  288.  
  289. struct MenuItem AvsHItem =
  290. {
  291.     &amigaPlaysBlackItem,    /* NextItem */
  292.     0, 24,        /* LeftEdge, TopEdge */
  293.     optionWidth, 8,        /* Width, Height */
  294.     CHECKIT | CHECKED | ITEMENABLED | ITEMTEXT | HIGHCOMP,    /* Flags */
  295.     6,        /* MutualExclude */
  296.     (APTR)&AvsHText,    /* ItemFill */
  297.     NULL,        /* SelectFill */
  298.     NULL,        /* Command */
  299.     NULL,        /* SubItem */
  300.     NULL,        /* NextSelect */
  301. };
  302.  
  303. struct IntuiText AvsAText =
  304. {
  305.     4, 0,         /* FrontPen, BackPen */
  306.     JAM1,        /* DrawMode */
  307.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  308.     NULL,        /* TextAttr */
  309.     "Amiga vs. Amiga",    /* IText */
  310.     NULL,        /* NextText */
  311. };
  312.  
  313. struct MenuItem AvsAItem =
  314. {
  315.     &AvsHItem,    /* NextItem */
  316.     0, 16,        /* LeftEdge, TopEdge */
  317.     optionWidth, 8,        /* Width, Height */
  318.     CHECKIT | ITEMENABLED | ITEMTEXT | HIGHCOMP,    /* Flags */
  319.     10,        /* MutualExclude */
  320.     (APTR)&AvsAText,    /* ItemFill */
  321.     NULL,        /* SelectFill */
  322.     NULL,        /* Command */
  323.     NULL,        /* SubItem */
  324.     NULL,        /* NextSelect */
  325. };
  326.  
  327. struct IntuiText HvsHText =
  328. {
  329.     4, 0,         /* FrontPen, BackPen */
  330.     JAM1,        /* DrawMode */
  331.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  332.     NULL,        /* TextAttr */
  333.     "Human vs. Human",    /* IText */
  334.     NULL,        /* NextText */
  335. };
  336.  
  337. struct MenuItem HvsHItem =
  338. {
  339.     &AvsAItem,    /* NextItem */
  340.     0, 8,        /* LeftEdge, TopEdge */
  341.     optionWidth, 8,        /* Width, Height */
  342.     CHECKIT | ITEMENABLED | ITEMTEXT | HIGHCOMP,    /* Flags */
  343.     12,        /* MutualExclude */
  344.     (APTR)&HvsHText,    /* ItemFill */
  345.     NULL,        /* SelectFill */
  346.     NULL,        /* Command */
  347.     NULL,        /* SubItem */
  348.     NULL,        /* NextSelect */
  349. };
  350.  
  351. struct IntuiText level7Text =
  352. {
  353.     4, 0,         /* FrontPen, BackPen */
  354.     JAM1,        /* DrawMode */
  355.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  356.     NULL,        /* TextAttr */
  357.     "7",    /* IText */
  358.     NULL,        /* NextText */
  359. };
  360.  
  361. struct MenuItem level7Item =
  362. {
  363.     NULL,    /* NextItem */
  364.     levelLoc, 48,        /* LeftEdge, TopEdge */
  365.     levelWidth, 8,        /* Width, Height */
  366.     CHECKIT | CHECKED | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  367.     63,        /* MutualExclude */
  368.     (APTR)&level7Text,    /* ItemFill */
  369.     NULL,        /* SelectFill */
  370.     NULL,        /* Command */
  371.     NULL,        /* SubItem */
  372.     NULL,        /* NextSelect */
  373. };
  374.  
  375. struct IntuiText level6Text =
  376. {
  377.     4, 0,         /* FrontPen, BackPen */
  378.     JAM1,        /* DrawMode */
  379.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  380.     NULL,        /* TextAttr */
  381.     "6",    /* IText */
  382.     NULL,        /* NextText */
  383. };
  384.  
  385. struct MenuItem level6Item =
  386. {
  387.     &level7Item,    /* NextItem */
  388.     levelLoc, 40,        /* LeftEdge, TopEdge */
  389.     levelWidth, 8,        /* Width, Height */
  390.     CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  391.     95,        /* MutualExclude */
  392.     (APTR)&level6Text,    /* ItemFill */
  393.     NULL,        /* SelectFill */
  394.     NULL,        /* Command */
  395.     NULL,        /* SubItem */
  396.     NULL,        /* NextSelect */
  397. };
  398.  
  399. struct IntuiText level5Text =
  400. {
  401.     4, 0,         /* FrontPen, BackPen */
  402.     JAM1,        /* DrawMode */
  403.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  404.     NULL,        /* TextAttr */
  405.     "5",    /* IText */
  406.     NULL,        /* NextText */
  407. };
  408.  
  409. struct MenuItem level5Item =
  410. {
  411.     &level6Item,    /* NextItem */
  412.     levelLoc, 32,        /* LeftEdge, TopEdge */
  413.     levelWidth, 8,        /* Width, Height */
  414.     CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  415.     111,        /* MutualExclude */
  416.     (APTR)&level5Text,    /* ItemFill */
  417.     NULL,        /* SelectFill */
  418.     NULL,        /* Command */
  419.     NULL,        /* SubItem */
  420.     NULL,        /* NextSelect */
  421. };
  422.  
  423. struct IntuiText level4Text =
  424. {
  425.     4, 0,         /* FrontPen, BackPen */
  426.     JAM1,        /* DrawMode */
  427.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  428.     NULL,        /* TextAttr */
  429.     "4",    /* IText */
  430.     NULL,        /* NextText */
  431. };
  432.  
  433. struct MenuItem level4Item =
  434. {
  435.     &level5Item,    /* NextItem */
  436.     levelLoc, 24,        /* LeftEdge, TopEdge */
  437.     levelWidth, 8,        /* Width, Height */
  438.     CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  439.     119,        /* MutualExclude */
  440.     (APTR)&level4Text,    /* ItemFill */
  441.     NULL,        /* SelectFill */
  442.     NULL,        /* Command */
  443.     NULL,        /* SubItem */
  444.     NULL,        /* NextSelect */
  445. };
  446.  
  447. struct IntuiText level3Text =
  448. {
  449.     4, 0,         /* FrontPen, BackPen */
  450.     JAM1,        /* DrawMode */
  451.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  452.     NULL,        /* TextAttr */
  453.     "3",    /* IText */
  454.     NULL,        /* NextText */
  455. };
  456.  
  457. struct MenuItem level3Item =
  458. {
  459.     &level4Item,    /* NextItem */
  460.     levelLoc, 16,        /* LeftEdge, TopEdge */
  461.     levelWidth, 8,        /* Width, Height */
  462.     CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  463.     123,        /* MutualExclude */
  464.     (APTR)&level3Text,    /* ItemFill */
  465.     NULL,        /* SelectFill */
  466.     NULL,        /* Command */
  467.     NULL,        /* SubItem */
  468.     NULL,        /* NextSelect */
  469. };
  470.  
  471. struct IntuiText level2Text =
  472. {
  473.     4, 0,         /* FrontPen, BackPen */
  474.     JAM1,        /* DrawMode */
  475.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  476.     NULL,        /* TextAttr */
  477.     "2",    /* IText */
  478.     NULL,        /* NextText */
  479. };
  480.  
  481. struct MenuItem level2Item =
  482. {
  483.     &level3Item,    /* NextItem */
  484.     levelLoc, 8,        /* LeftEdge, TopEdge */
  485.     levelWidth, 8,        /* Width, Height */
  486.     CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  487.     125,        /* MutualExclude */
  488.     (APTR)&level2Text,    /* ItemFill */
  489.     NULL,        /* SelectFill */
  490.     NULL,        /* Command */
  491.     NULL,        /* SubItem */
  492.     NULL,        /* NextSelect */
  493. };
  494.  
  495. struct IntuiText level1Text =
  496. {
  497.     4, 0,         /* FrontPen, BackPen */
  498.     JAM1,        /* DrawMode */
  499.     CHECKWIDTH, 0,        /* LeftEdge, TopEdge */
  500.     NULL,        /* TextAttr */
  501.     "1",    /* IText */
  502.     NULL,        /* NextText */
  503. };
  504.  
  505. struct MenuItem level1Item =
  506. {
  507.     &level2Item,    /* NextItem */
  508.     levelLoc, 0,        /* LeftEdge, TopEdge */
  509.     levelWidth, 8,        /* Width, Height */
  510.     CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  511.     126,        /* MutualExclude */
  512.     (APTR)&level1Text,    /* ItemFill */
  513.     NULL,        /* SelectFill */
  514.     NULL,        /* Command */
  515.     NULL,        /* SubItem */
  516.     NULL,        /* NextSelect */
  517. };
  518.  
  519. struct IntuiText playLevelText =
  520. {
  521.     4, 0,         /* FrontPen, BackPen */
  522.     JAM1,        /* DrawMode */
  523.     0, 0,        /* LeftEdge, TopEdge */
  524.     NULL,        /* TextAttr */
  525.     "Set Play Level",    /* IText */
  526.     NULL,        /* NextText */
  527. };
  528.  
  529. struct MenuItem playLevelItem =
  530. {
  531.     &HvsHItem,    /* NextItem */
  532.     0, 0,        /* LeftEdge, TopEdge */
  533.     optionWidth, 8,        /* Width, Height */
  534.     ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  535.     NULL,        /* MutualExclude */
  536.     (APTR)&playLevelText,    /* ItemFill */
  537.     NULL,        /* SelectFill */
  538.     NULL,        /* Command */
  539.     &level1Item,    /* SubItem */
  540.     NULL,        /* NextSelect */
  541. };
  542.  
  543. struct Menu option =
  544. {
  545.     &move,        /* NextMenu */
  546.     37,        /* LeftEdge */
  547.     0,        /* TopEdge */
  548.     56,        /* Width */
  549.     8,        /* Height */
  550.     MENUENABLED,    /* Flags */
  551.     "Option",    /* Menu name */
  552.     &playLevelItem,    /* FirstItem */
  553. };
  554.  
  555. /* Game */
  556. struct IntuiText quitText =
  557. {
  558.     4, 0,         /* FrontPen, BackPen */
  559.     JAM1,        /* DrawMode */
  560.     0, 0,        /* LeftEdge, TopEdge */
  561.     NULL,        /* TextAttr */
  562.     "Quit",        /* IText */
  563.     NULL,        /* NextText */
  564. };
  565.  
  566. struct MenuItem quitItem =
  567. {
  568.     NULL,    /* NextItem */
  569.     0, 40,        /* LeftEdge, TopEdge */
  570.     gameWidth, 8,        /* Width, Height */
  571.     ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  572.     NULL,        /* MutualExclude */
  573.     (APTR)&quitText,    /* ItemFill */
  574.     NULL,        /* SelectFill */
  575.     NULL,        /* Command */
  576.     NULL,        /* SubItem */
  577.     NULL,        /* NextSelect */
  578. };
  579.  
  580. struct IntuiText restartText =
  581. {
  582.     4, 0,         /* FrontPen, BackPen */
  583.     JAM1,        /* DrawMode */
  584.     0, 0,        /* LeftEdge, TopEdge */
  585.     NULL,        /* TextAttr */
  586.     "Restart",        /* IText */
  587.     NULL,        /* NextText */
  588. };
  589.  
  590. struct MenuItem restartItem =
  591. {
  592.     &quitItem,    /* NextItem */
  593.     0, 32,        /* LeftEdge, TopEdge */
  594.     gameWidth, 8,        /* Width, Height */
  595.     ITEMTEXT | HIGHCOMP,    /* Flags */
  596.     NULL,        /* MutualExclude */
  597.     (APTR)&restartText,    /* ItemFill */
  598.     NULL,        /* SelectFill */
  599.     NULL,        /* Command */
  600.     NULL,        /* SubItem */
  601.     NULL,        /* NextSelect */
  602. };
  603.  
  604.  
  605. struct IntuiText loadText =
  606. {
  607.     4, 0,         /* FrontPen, BackPen */
  608.     JAM1,        /* DrawMode */
  609.     0, 0,        /* LeftEdge, TopEdge */
  610.     NULL,        /* TextAttr */
  611.     "Load",        /* IText */
  612.     NULL,        /* NextText */
  613. };
  614.  
  615. struct MenuItem loadItem =
  616. {
  617.     &restartItem,    /* NextItem */
  618.     0, 24,        /* LeftEdge, TopEdge */
  619.     gameWidth, 8,        /* Width, Height */
  620.     ITEMTEXT | HIGHCOMP,    /* Flags */
  621.     NULL,        /* MutualExclude */
  622.     (APTR)&loadText,    /* ItemFill */
  623.     NULL,        /* SelectFill */
  624.     NULL,        /* Command */
  625.     NULL,        /* SubItem */
  626.     NULL,        /* NextSelect */
  627. };
  628.  
  629. struct IntuiText saveAsText =
  630. {
  631.     4, 0,         /* FrontPen, BackPen */
  632.     JAM1,        /* DrawMode */
  633.     0, 0,        /* LeftEdge, TopEdge */
  634.     NULL,        /* TextAttr */
  635.     "SaveAs",        /* IText */
  636.     NULL,        /* NextText */
  637. };
  638.  
  639. struct MenuItem saveAsItem =
  640. {
  641.     &loadItem,    /* NextItem */
  642.     0, 16,        /* LeftEdge, TopEdge */
  643.     gameWidth, 8,        /* Width, Height */
  644.     ITEMTEXT | HIGHCOMP,    /* Flags */
  645.     NULL,        /* MutualExclude */
  646.     (APTR)&saveAsText,    /* ItemFill */
  647.     NULL,        /* SelectFill */
  648.     NULL,        /* Command */
  649.     NULL,        /* SubItem */
  650.     NULL,        /* NextSelect */
  651. };
  652.  
  653. struct IntuiText saveText =
  654. {
  655.     4, 0,         /* FrontPen, BackPen */
  656.     JAM1,        /* DrawMode */
  657.     0, 0,        /* LeftEdge, TopEdge */
  658.     NULL,        /* TextAttr */
  659.     "Save",        /* IText */
  660.     NULL,        /* NextText */
  661. };
  662.  
  663. struct MenuItem saveItem =
  664. {
  665.     &saveAsItem,    /* NextItem */
  666.     0, 8,        /* LeftEdge, TopEdge */
  667.     gameWidth, 8,        /* Width, Height */
  668.     ITEMTEXT | HIGHCOMP,    /* Flags */
  669.     NULL,        /* MutualExclude */
  670.     (APTR)&saveText,    /* ItemFill */
  671.     NULL,        /* SelectFill */
  672.     NULL,        /* Command */
  673.     NULL,        /* SubItem */
  674.     NULL,        /* NextSelect */
  675. };
  676.  
  677. struct IntuiText playText =
  678. {
  679.     4, 0,         /* FrontPen, BackPen */
  680.     JAM1,        /* DrawMode */
  681.     0, 0,        /* LeftEdge, TopEdge */
  682.     NULL,        /* TextAttr */
  683.     "Play",        /* IText */
  684.     NULL,        /* NextText */
  685. };
  686.  
  687. struct MenuItem playItem =
  688. {
  689.     &saveItem,    /* NextItem */
  690.     0, 0,        /* LeftEdge, TopEdge */
  691.     gameWidth, 8,        /* Width, Height */
  692.     ITEMTEXT | ITEMENABLED | HIGHCOMP,    /* Flags */
  693.     NULL,        /* MutualExclude */
  694.     (APTR)&playText,    /* ItemFill */
  695.     NULL,        /* SelectFill */
  696.     NULL,        /* Command */
  697.     NULL,        /* SubItem */
  698.     NULL,        /* NextSelect */
  699. };
  700.  
  701. struct Menu game =
  702. {
  703.     &option,    /* NextMenu */
  704.     0,         /* LeftEdge */
  705.     0,        /* TopEdge */
  706.     40,        /* Width */
  707.     8,        /* Height */
  708.     MENUENABLED,    /* Flags */
  709.     "Game",        /* Menu name */
  710.     &playItem,    /* FirstItem */
  711. };
  712.  
  713.